일반적인 평가 워크플로
일반적인 프롬프트 평가 워크플로는 객관적인 측정을 통해 프롬프트를 체계적으로 개선할 수 있도록 돕는 다섯 가지 핵심 단계를 따릅니다. 이러한 워크플로를 구성하는 방법은 다양하며 오픈소스 및 유료 도구도 여러 가지가 있지만, 핵심 프로세스를 이해하면 작게 시작해서 필요에 따라 규모를 확장할 수 있습니다.
1단계: 프롬프트 초안 작성
개선하고자 하는 초기 프롬프트를 작성하는 것부터 시작합니다. 이 예시에서는 다음과 같은 간단한 프롬프트를 사용합니다:
prompt = f"""
Please answer the user's question:
{question}
"""
이 기본 프롬프트는 테스트 및 개선을 위한 기준선으로 사용됩니다.
2단계: 평가 데이터셋 생성
평가 데이터셋에는 프롬프트가 프로덕션에서 처리할 질문이나 요청의 유형을 나타내는 샘플 입력이 포함됩니다. 데이터셋에는 프롬프트 템플릿에 삽입될 질문들이 포함되어야 합니다.
이 예시에서 데이터셋에는 세 가지 질문이 포함됩니다:
- "2+2는 얼마인가요?"
- "오트밀은 어떻게 만드나요?"
- "달까지의 거리는 얼마나 되나요?"
실제 평가에서는 수십, 수백, 또는 수천 개의 레코드가 있을 수 있습니다. 이러한 데이터셋은 직접 구성하거나 Claude를 사용하여 생성할 수 있습니다.
3단계: Claude를 통해 처리
데이터셋의 각 질문을 프롬프트 템플릿과 합쳐서 완전한 프롬프트를 만든 다음, 각각을 Claude에 전송하여 응답을 받습니다.
예를 들어, 첫 번째 질문은 다음과 같이 됩니다:
Please answer the user's question:
What's 2+2?
Claude는 수학 질문에 "2 + 2 = 4"라고 응답하고, 두 번째 질문에는 오트밀 요리 방법을 안내하며, 세 번째 질문에는 달까지의 거리를 알려줄 것입니다.
4단계: 채점기를 통해 처리
채점기는 원래 질문과 Claude의 답변을 모두 검토하여 Claude의 응답 품질을 평가합니다. 이 단계에서는 일반적으로 1에서 10까지의 척도로 객관적인 점수를 제공하며, 10은 완벽한 답변을, 낮은 점수는 개선의 여지가 있음을 나타냅니다.
이 예시에서 채점기는 다음과 같이 점수를 부여할 수 있습니다:
- 수학 질문: 10 (완벽한 답변)
- 오트밀 질문: 4 (개선 필요)
- 달 질문: 9 (매우 좋은 답변)
모든 질문의 평균 점수가 객관적인 측정값을 제공합니다: (10 + 4 + 9) ÷ 3 = 7.66
5단계: 프롬프트 수정 후 반복
기준 점수를 확보했으니 이제 프롬프트를 수정하고 전체 프로세스를 다시 실행하여 변경 사항이 성능을 향상시키는지 확인할 수 있습니다.
예를 들어, 프롬프트에 더 많은 지침을 추가할 수 있습니다:
prompt = f"""
Please answer the user's question:
{question}
Answer the question with ample detail
"""
동일한 평가 프로세스를 통해 이 개선된 프롬프트를 실행하면 평균 점수가 8.7로 높아질 수 있으며, 이는 추가 지침이 Claude가 더 나은 응답을 제공하는 데 도움이 되었음을 나타냅니다.
프롬프트 점수 산정
이 워크플로의 핵심 이점은 프롬프트 성능의 객관적인 측정값을 얻는 것입니다. 다음과 같은 작업이 가능합니다:
- 다양한 프롬프트 버전을 수치로 비교
- 가장 높은 점수의 버전 사용
- 더 나은 접근 방식을 찾기 위해 계속 반복
이 체계적인 접근 방식은 프롬프트 엔지니어링에서 추측을 배제하고, 변경 사항이 단순히 다른 변형이 아닌 실제 개선임을 확신할 수 있게 해줍니다.
